The present invention relates to a storage system that provides a host computer with a storage area dynamically expandable in capacity.
A common computer system is composed of a host computer which processes a task and a storage system which reads/writes data as instructed by the host computer. The storage system provides multiple volumes in which data is stored and read/written. Storage systems today can have numerous large-capacity physical disks and their storage capacity is increasing.
In the storage systems, a redundant array of inexpensive disks (RAID) configuration disk array is built from physical disks and a pool area is created by aggregating one or more physical storage resources. From the created pool area, a storage area having as large a capacity as requested by a host computer is created as a logical volume and provided to the host computer.
The increase in storage capacity of storage systems increases the size of a storage area requested by a host computer. The initial cost for physical disks in introducing such a large-scale storage system could be enormous.
As a solution to this problem, JP 2003-15915 A discloses a technique in which, instead of having all physical disks that correspond to a capacity to be provided to a host computer at the ready upon introduction, a storage system adds a physical disk as the need arises after the used disk capacity nears the upper limit, and thereby dynamically changes the storage capacity provided to the host computer. The technique disclosed in JP 2003-15915 A enables the above-mentioned storage system to provide virtual logical volumes to a host computer without creating logical volumes of a fixed capacity from a pool area. Upon request from the host computer, storage areas of a given unit (this storage area unit will hereinafter be referred to as “segment”) are dynamically allocated to the virtual logical volumes from a pool area, which is an aggregation of physical storage resources. The technique thus dynamically expands the capacity and lowers the initial cost upon introduction of the storage system.
Logical volumes to which segments are allocated from one pool area can be assigned to different uses such as volume local copy for backup, volume remote copy for disaster recovery in order to continue a task despite a system failure or a disaster, and normal tasks other than volume copy.
The local copy is a technology for duplicating data in a storage area inside a storage system to a storage area inside the same storage system. The remote copy is a technology for duplicating data in a storage area inside a storage system to a storage area inside another storage system. In the volume copy, multiple logical volumes are grouped into one and the consistency in the order of data update is kept within the logical volume group. A group of logical volumes as this is called a consistency group (CTG). One pool area may contain one CTG or more than one CTG.
A storage system avoids failure in expanding logical volume capacity due to too few segments allocated to logical volumes from a pool area, in other words, due to too little pool capacity, by monitoring for a shortage of pool capacity. When a shortage of pool capacity is detected, the storage system adds to the pool capacity by expanding the pool area.
In the remote copy, capacity monitoring and capacity addition have to be performed on a pool area in a storage system that contains the copy source volume (primary volume) and a pool area in a storage system that contains the copy destination volume (secondary volume). In the case where the pool capacity is increased to supplement a shortage of pool capacity on the primary volume side during suspension of data copy between the paired volumes (primary volume and secondary volume) in remote copy, pool capacity addition processing has to be performed also on the pool area on the secondary volume side in order to solve capacity shortage before the data copy between the paired volumes can be resumed. This delays the remote copy processing by a time required to finish the capacity addition processing for the secondary volume.